/**
 * 
 */
package fr.fermeManager.application.controllers;

import fr.fermeManager.application.utils.AppContext;
import fr.fermeManager.application.utils.Constantes;
import fr.fermeManager.application.views.ViewGestionTypesTransactions;
import fr.fermeManager.library.model.beans.Ferme;
import fr.fermeManager.library.model.beans.TypeTransaction;
import fr.fermeManager.library.services.TypeTransactionService;
import fr.fermeManager.library.services.TypeTransactionServiceImpl;

/**
 * @author Mo
 *
 */
public class ControllerGestionTypesTransactions extends BaseController {
	
	TypeTransactionService serviceTypeTransaction = new TypeTransactionServiceImpl();

	@Override
	public void loadData() {
		
		Ferme currentFerme = (Ferme) AppContext.getSession().get(Constantes.CURRENT_FERME);
		
		((ViewGestionTypesTransactions)AppContext.getBasePanel()).setFermeTransactions(currentFerme.getTypesTransactions());
		
	}

	public void ajouterTypeTransaction(TypeTransaction nouveauTypeTransac) {
		
		Ferme currentFerme = (Ferme) AppContext.getSession().get(Constantes.CURRENT_FERME);
		
		nouveauTypeTransac = serviceTypeTransaction.ajouterTypeTransaction(currentFerme.getId(),nouveauTypeTransac);
		
		currentFerme.ajouterTypeTransaction(nouveauTypeTransac);
	}

	public void supprimerTypeTransaction(TypeTransaction typeTransactionSelectionnee) {
		
		Ferme currentFerme = (Ferme) AppContext.getSession().get(Constantes.CURRENT_FERME);
		
		serviceTypeTransaction.supprimerTypeTransaction(typeTransactionSelectionnee.getId());
		
		currentFerme.supprimerTypeTransaction(typeTransactionSelectionnee);
		
	}

	public void updateTypeTransaction(TypeTransaction typeTransactionSelectionnee) {
		
		Ferme currentFerme = (Ferme) AppContext.getSession().get(Constantes.CURRENT_FERME);
		
		serviceTypeTransaction.modifierTypeTransaction(typeTransactionSelectionnee);	
		
		currentFerme.modifierTypeTransaction(typeTransactionSelectionnee);
		
	}

}
